perm filename SORTXY.SAI[GEO,BGB] blob
sn#083867 filedate 1974-01-25 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "SORTXY"
C00004 ENDMK
C⊗;
BEGIN "SORTXY"
REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
REQUIRE "RANDOM[SYS,BGB]" LOAD_MODULE;
EXTERNAL REAL PROCEDURE RANDOM;
REQUIRE "DPYIII[SYS,BGB]" SOURCE_FILE;
SAFE INTEGER ARRAY DPYBUF[0:1000];
SAFE REAL ARRAY X,Y[1:100];
SAFE REAL ARRAY Z[1:40,1:40];
ITG I,J,K;
REAL MIN;
α DISPLAY WINDOW;
WHILE TRUE DO BEGIN
DPYSET(DPYBUF); AIVECT(-400,-400);
AVECT(+400,-400);AVECT(+400,+400);
AVECT(-400,+400);AVECT(-400,-400);
FOR I←1 STEP 1 UNTIL 40 DO
⊂ X[I]←800*RANDOM-400; Y[I]←800*RANDOM-400;
AIVECT(X[I],Y[I]);DPYSST("⊗"); ⊃;
FOR I←1 STEP 1 UNTIL 39 DO
FOR J←I+1 STEP 1 UNTIL 40 DO
Z[I,J]←Z[J,I]←(X[I]-X[J])↑2+(Y[I]-Y[J])↑2;
FOR I←1 STEP 1 UNTIL 40 DO
BEGIN
MIN ← 999999;
AIVECT(X[I],Y[I]);
FOR J←1 STEP 1 UNTIL 40 DO
IF J≠I ∧ Z[I,J]<MIN THEN ⊂ MIN←Z[I,J];K←J;⊃;
AVECT(X[K],Y[K]);
END;
DPYOUT(1);
END; WHILE TRUE DO INCHRW;
END "SORTXY";